// File Name: oled_logic.h
// Author: kukukukuku~
// Date: 2024-10-25

#ifndef __OLED_LOGIC_H
#define __OLED_LOGIC_H

#include "./OLED/inc/oled_ctrl.h"

/**
 * @brief   OLED设置坐标
 * @param   x:  横坐标
 * @param   y:  纵坐标
 * @retval  None
 * @note    None
*/
void oled_set_position(const uint8_t x, const uint8_t y);

/**
 * @brief   OLED开启
 * @param   None
 * @retval  None
 * @note    None
*/
void oled_on(void);

/**
 * @brief   OLED关闭
 * @param   None
 * @retval  None
 * @note    None
*/
void oled_off(void);

/**
 * @brief   OLED清屏
 * @param   None
 * @retval  None
 * @note    None
*/
void oled_clear(void);

/**
 * @brief   OLED显示一个8x16字符
 * @param   x:          横坐标
 * @param   y:          纵坐标
 * @param   ch:         要显示的字符
 * @param   mode:       显示模式
 *                      @arg 0: 正相
 *                      @arg 1: 反相
 * @retval  None
 * @note    None
*/
void oled_show_char_8x16(const uint8_t x, const uint8_t y, const uint8_t ch, const uint8_t mode);

/**
 * @brief   OLED显示8x16字符串
 * @param   x:          横坐标
 * @param   y:          纵坐标
 * @param   str:        要显示的字符串
 * @param   mode:       显示模式
 *                      @arg 0: 正相
 *                      @arg 1: 反相
 * @retval  None
 * @note    None
*/
void oled_show_str_8x16(const uint8_t x, const uint8_t y, const uint8_t * const str, const uint8_t mode);

#endif //__OLED_LOGIC_H
